%% This file is part of Enblend.
%% Licence details can be found in the file COPYING.


\chapter[Helpful Programs\commonpart]{\label{sec:helpful-programs}%
  \genidx[\rangebeginlocation]{helpful programs}%
  Helpful Programs And Libraries\commonpart}

Several programs and libraries have proven helpful when working with \App{} or \OtherApp.


\section[Raw Image Conversion]{\label{sec:raw-image-conversion}%
  \genidx{helpful programs!raw image conversion}%
  Raw Image Conversion}

\begin{itemize}
  \label{app:darktable}%
  \appidx{Darktable}%
\item
  \uref{\darktableorg}{\application{Darktable}} is an open-source photography workflow
  application and raw-image developer.

  \label{prg:dcraw}%
  \prgidx{dcraw}%
\item
  \uref{\cybercomnetdcraw}{\application{DCRaw}} is a universal raw-converter written by
  \propername{David Coffin}.

  \label{app:rawtherapee}%
  \appidx{RawTherapee}%
\item
  \uref{\rawtherapeecom}{\application{RawTherapee}} is powerful open-source raw converter for
  Win\asterisk, \mbox{\acronym{MacOS}} and Linux.

  \label{app:ufraw}%
  \appidx{UFRaw}%
  \prgidx{ufraw}%
  \prgidx{ufraw-batch}%
\item
  \uref{\ufrawsourceforgenet}{\application{UFRaw}} is a raw-converter written by \propername{Udi
    Fuchs} and based on \application{DCRaw} (see above).  It adds a \acronym{GUI}
  (\command{ufraw}), versatile batch processing (\command{ufraw-batch}), and some additional
  features such as cropping, noise reduction with wavelets, and automatic lens-error correction.
\end{itemize}


\section[Image Alignment and Rendering]{\label{sec:image-alignment-and-rendering}%
  \genidx{helpful programs!image alignment}%
  \genidx{helpful programs!image rendering}%
  Image Alignment and Rendering}

\begin{itemize}
  \label{app:hugin}%
  \appidx{Hugin}%
  \prgidx{nona \textrm{(Hugin)}}%
  \prgidx{fulla \textrm{(Hugin)}}%
\item
  \uref{\huginsourceforgenet}{\application{Hugin}} is a \acronym{GUI} that aligns and stitches
  images.

  It comes with several command-line tools, like for example \command{nona} to stitch panorama
  images, \command{align\_image\_stack}\prgidx{align\_image\_stack \textrm{(Hugin)}} to align
  overlapping images for \acronym{HDR} or create focus stacks, and \command{fulla} to correct
  lens errors.

  \label{app:panotools}%
  \appidx{PanoTools}%
  \prgidx{PTOptimizer \textrm{(PanoTools)}}%
  \prgidx{PTmender \textrm{(PanoTools)}}%
\item
  \uref{\panotoolssourceforgenet}{PanoTools} the successor of \propername{Helmut Dersch's}
  \uref{\homepagehelmutdersch}{original PanoTools} offers a set of command-line driven
  applications to create panoramas.  Most notable are \application{PTOptimizer} for control
  point optimization and \application{PTmender}, an image stitcher.
\end{itemize}


\section[Image Manipulation]{\label{sec:image-manipulation}%
  \genidx{helpful programs!image manipulation}%
  Image Manipulation}

\begin{itemize}
  \label{app:cinepaint}%
  \appidx{CinePaint}%
\item
  \uref{\cinepaintorg}{\application{CinePaint}} is a branch of an early \application{Gimp}
  forked off at version~1.0.4.  It sports much less features than the current
  \application{Gimp}, but offers 8~bit, 16~bit and~32~bit color channels, \acronym{HDR} (for
  example floating-point \acronym{TIFF}, and \acronym{OpenEXR}), and a tightly integrated color
  management system.

  \label{app:gimp}%
  \appidx{Gimp}%
\item
  \uref{\gimporg}{\application{The Gimp}} is a general purpose image manipulation program.  At
  the time of this writing it is still limited to images with only 8~bits per channel.

  \label{app:gmic}%
  \prgidx{gmic}%
\item
  \uref{\gmicsourceforgenet}{\application{G'Mic}} is an open and full-featured framework for
  image processing, providing several different user interfaces to convert, manipulate, filter,
  and visualize generic image datasets.

  \label{app:imagemagick}%
  \label{app:graphicsmagick}%
  \appidx{ImageMagick}%
  \appidx{GraphicsMagick}%
  \prgidx{convert \textrm{(ImageMagick)}}%
  \prgidx{display \textrm{(ImageMagick)}}%
  \prgidx{identify \textrm{(ImageMagick)}}%
  \prgidx{montage \textrm{(ImageMagick)}}%
  \prgidx{gm \textrm{(GraphicsMagick)}}%
\item
  Both \uref{\imagemagickorg}{\application{ImageMagick}} and
  \uref{\graphicsmagickorg}{\application{GraphicsMagick}} are general\hyp purpose command\hyp
  line controlled image\hyp manipulation programs, for example, \command{convert},
  \command{display}, \command{identify}, and \command{montage}.  \application{GraphicsMagick}
  bundles most \application{ImageMagick} invocations in the single dispatcher call to
  \command{gm}.
\end{itemize}


\section[High Dynamic Range]{\label{sec:high-dynamic-range}%
  \genidx{helpful programs!High Dynamic Range}%
  \genidx{helpful programs!\acronym{HDR}}%
  High Dynamic Range}

\begin{itemize}
  \label{lib:openexr}%
  \genidx{OpenEXR@\acronym{OpenEXR}}%
  \genidx{EXR@\acronym{EXR}}%
  \genidx{HDR@\acronym{HDR}}%
  \prgidx{exrdisplay \textrm{(OpenEXR)}}%
\item
  \uref{\openexrcom}{OpenEXR} offers libraries and some programs to work with the \acronym{EXR}
  \acronym{HDR}-format, for example the \acronym{EXR} display utility \command{exrdisplay}.

  \label{app:psftools}%
  \prgidx{PFSTools}%
\item
  \uref{\pfstoolssourceforgenet}{PFSTools} read, write, modify, and tonemap high-dynamic range
  (\acronym{HDR}) images.
\end{itemize}


\section[Libraries]{\label{sec:helpful-libraries}%
  \genidx{helpful programs!libraries}%
  \genidx{helpful libraries}%
  Major Libraries}

\begin{itemize}
  \label{lib:jpeg}%
  \genidx{LibJPEG}%
  \genidx{JPEG@\acronym{JPEG}}%
  \gensee{JFIF@\acronym{JFIF}}{\acronym{JPEG}}%
\item
  \uref{\ijgorg}{LibJPEG} is a library for handling the \acronym{JPEG} (\acronym{JFIF}) image
  format.

  \label{lib:png}%
  \genidx{LibPNG}%
  \genidx{PNG@\acronym{PNG}}%
\item
  \uref{\libpngorg}{LibPNG} is a library that handles the Portable Network Graphics
  (\acronym{PNG}) image format.

  \label{lib:tiff}%
  \genidx{LibTiff}%
  \genidx{TIFF@\acronym{TIFF}}%
  \prgidx{tiffinfo \textrm{(libtiff)}}%
\item
  \uref{\remotesensingorglibtiff}{LibTIFF} offers a library and utility programs to manipulate
  the ubiquitous Tagged Image File Format, \acronym{TIFF}.

  The nifty \command{tiffinfo} command in the LibTIFF distribution quickly inquires the most
  important properties of \acronym{TIFF} files.

  \label{lib:netpbm}%
  \genidx{Netpbm@\acronym{Netpbm}}%
  \genidx{PBM@\acronym{PBM}}%
  \genidx{PGM@\acronym{PGM}}%
  \genidx{PNM@\acronym{PNM}}%
  \genidx{PPM@\acronym{PPM}}%
\item
  \uref{\netpbm}{Netpbm} is a toolkit for manipulation of images, including conversion of images
  between a variety of different formats.  There are plenty of tools in the package including
  converters for about 100~graphics formats.

  The library and the tools handle

  \begin{compactitemize}
  \item
    The portable pixmap format (\acronym{PPM}) for \acronym{RGB}-color images.
  \item
    The portable graymap format (\acronym{PGM}) for grayscale images.
  \item
    The portable bitmap format (\acronym{PBM}) for black-and-white (1~bit depth) images.
  \end{compactitemize}

  They are also referred to collectively as the portable anymap format (\acronym{PNM}).
\end{itemize}


\section[Metadata Handling]{\label{sec:metadata-handling}%
  \genidx{helpful programs!metadata handling}%
  Metadata Handling}

\begin{itemize}
  \label{app:exiftool}%
  \prgidx{exiftool}%
  \genidx{EXIF@\acronym{EXIF}}%
\item
  \uref{\snophyqueensucaexiftool}{EXIFTool} reads and writes \acronym{EXIF} metadata.  In
  particular it copies metadata from one image to another.

  \label{app:exivii}%
  \prgidx{exiv2 \textrm{(LibExiv2)}}%
  \genidx{exiv2}%
\item
  The \uref{\exiviiorg}{Exiv2}~package comes with \prgidx{exiv2}, a tool to manipulate
  \acronym{EXIF}, \acronym{IPTC}, and \acronym{XMP} image metadata and image comments.

  \label{app:littlecms}%
  \appidx{LittleCMS}%
  \prgidx{tificc \textrm{(LittleCMS)}}%
  \genidx{ICC@\acronym{ICC}}%
\item
  \uref{\littlecmscom}{LittleCMS} is the color-management library used by \application{Hugin},
  \application{DCRaw}, \application{UFRaw}, \App, and \OtherApp.  It supplies some binaries,
  too.  \command{tificc}, an \acronym{ICC} color profile applier, is of particular interest.
\end{itemize}


\section[Camera Firmware Extension]{\label{sec:camera-firmware-extension}%
  \genidx{helpful programs!camera firmware}%
  Camera Firmware Extension}

\begin{itemize}
  \label{app:magiclantern}%
  \appidx{Magic Lantern}%
\item
  \uref{\magiclanternfm}{Magic Lantern} is a software add-on that runs from the
  \acronym{SD}~(Secure Digital) or \acronym{CF}~(Compact Flash) card and adds new features to
  cameras of a certain Japanese brand of cameras as for example

  \begin{itemize}
    \genidx{dual-ISO@dual-\acronym{ISO}}%
  \item
    Dual-\acronym{ISO} (more precisely: simultaneous dual sensor speed); this operation mode may
    in fact obviate the need for \application{Enfuse}.

  \item
    Focus stacking

    \genidx{bracketing!HDR@\acronym{HDR}}%
    \gensee{HDR bracketing@\acronym{HDR}-bracketing}{bracketing, \acronym{HDR}}%
  \item
    \acronym{HDR}-bracketing
  \end{itemize}
\end{itemize}

\genidx[\rangeendlocation]{helpful programs}


%%% Local Variables:
%%% fill-column: 96
%%% End:
